package com.ruoyi.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 停车卡对象 parking_card
 *
 * @author dongdong
 * @date 2025-11-11
 */
public class ParkingCard extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 停车场ID */
    @Excel(name = "停车场ID")
    private Long parkId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long memberId;

    /** 微信用户ID（临时用） */
    @Excel(name = "微信用户ID", readConverterExp = "临=时用")
    private String uniqueId;

    /** 订单id */
    @Excel(name = "订单id")
    private Long orderId;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String carNum;

    /** 车牌颜色 */
    @Excel(name = "车牌颜色")
    private Long carNumColor;

    /** 缴费金额 */
    @Excel(name = "缴费金额")
    private BigDecimal amount;

    /** 车主姓名 */
    @Excel(name = "车主姓名")
    private String owner;

    /** 车主电话 */
    @Excel(name = "车主电话")
    private String ownerTel;

    /** 有效开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validStartTime;

    /** 有效结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validEndTime;

    /** 开通渠道：1微信小程序；2支付宝小程序；3平台下发 */
    @Excel(name = "开通渠道：1微信小程序；2支付宝小程序；3平台下发")
    private Integer channel;

    /** 部门ID */
    @Excel(name = "部门ID")
    private Long deptId;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setParkId(Long parkId)
    {
        this.parkId = parkId;
    }

    public Long getParkId()
    {
        return parkId;
    }
    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public Long getMemberId()
    {
        return memberId;
    }
    public void setUniqueId(String uniqueId)
    {
        this.uniqueId = uniqueId;
    }

    public String getUniqueId()
    {
        return uniqueId;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setCarNum(String carNum)
    {
        this.carNum = carNum;
    }

    public String getCarNum()
    {
        return carNum;
    }
    public void setCarNumColor(Long carNumColor)
    {
        this.carNumColor = carNumColor;
    }

    public Long getCarNumColor()
    {
        return carNumColor;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setOwner(String owner)
    {
        this.owner = owner;
    }

    public String getOwner()
    {
        return owner;
    }
    public void setOwnerTel(String ownerTel)
    {
        this.ownerTel = ownerTel;
    }

    public String getOwnerTel()
    {
        return ownerTel;
    }
    public void setValidStartTime(Date validStartTime)
    {
        this.validStartTime = validStartTime;
    }

    public Date getValidStartTime()
    {
        return validStartTime;
    }
    public void setValidEndTime(Date validEndTime)
    {
        this.validEndTime = validEndTime;
    }

    public Date getValidEndTime()
    {
        return validEndTime;
    }
    public void setChannel(Integer channel)
    {
        this.channel = channel;
    }

    public Integer getChannel()
    {
        return channel;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("parkId", getParkId())
                .append("memberId", getMemberId())
                .append("uniqueId", getUniqueId())
                .append("orderId", getOrderId())
                .append("carNum", getCarNum())
                .append("carNumColor", getCarNumColor())
                .append("amount", getAmount())
                .append("owner", getOwner())
                .append("ownerTel", getOwnerTel())
                .append("validStartTime", getValidStartTime())
                .append("validEndTime", getValidEndTime())
                .append("channel", getChannel())
                .append("remark", getRemark())
                .append("deptId", getDeptId())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
